import java.util.List;

class Solution {
    public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        move(A, B, C, A.size());
    }
    private void move(List<Integer> start, List<Integer> temp, List<Integer> end, int n) {
        if(n == 1) {
            move(start, end);
            return;
        }
        move(start, end, temp, n-1);
        move(start, end);
        move(temp, start, end, n-1);
    }
    private void move(List<Integer> start, List<Integer> end) {
        int val = start.remove(start.size()-1);//注意这里是start.remove(start.size()-1)，不能是start.remove(0)
        end.add(val);
    }
}